import re

def mobile(mobile_str):
    '''
    验证手机号格式
    :param mobile_str: 被检验的字符串
    :return:
    '''
    if re.match(r'^1[3-9]\d{9}$',mobile_str):
        return mobile_str

    else:
        raise ValueError('{}is not a valid mobile.' .format(mobile_str))


def Regex(pattern):
    """
    正则检验
    :param pattern: str 是正则表达式
    :return:  返回
    """
    def validate(value_str):
        """
        具体检验一个字符串，根据自定义的一个正则表达式
        :param value_str:
        :return:
        """
        if re.match(pattern, pattern):
            return value_str

        else:
            raise ValueError('{}is a valid params.'.format(value_str))
    return validate

def email(email_str):
    '''
       邮箱地址格式
       :param mobile_str: 被检验的字符串
       :return:
       '''
    if re.match(r'^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$', email_str):
        return email_str

    else:
        raise ValueError('{}mailbox@ is not a valid email.'.format(email_str))
